package com.mhkj.fruit.key.entity;

import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;

import com.mics.core.common.validate.annotation.Validate;
import com.mics.core.system.base.entity.BaseDomain;
import com.mics.core.system.base.entity.FileEntity;
import com.mics.core.system.rbac.entity.Dictionary;

 

/**
 *  节点成果档案明细
 * @author wk
 * @date 2018年8月15日
 */
@Entity
@Table(name="t_key_fruit_archives_detailed")
@Validate
public class KeyFruitArchivesDetailed   extends BaseDomain {

	/**
	 * 序号
	 */
	private static final long serialVersionUID = -1150030615532026332L;
	

	/**
	 * 成果档案
	 */
	@JoinColumn(name="key_fruit_archives_id")
	@ManyToOne(fetch=FetchType.LAZY)
	private KeyFruitArchives keyFruitArchives;

	/**
	 * 成果名称
	 */
	@Column(name = "achievement_name")
	private String achievementName;
	/**
	 * 成果性质
	 */
	@JoinColumn(name = "achievement_nature_id")
	@ManyToOne(fetch = FetchType.LAZY)
	private Dictionary achievementNature;
	

	/**
	 * 成果性质
	 */
	@Transient
	private long achievementNatureId;
	/**
	 * 成果取得时间
	 */
	@Column(name = "achievement_time")
	@Temporal(TemporalType.DATE)
	private Date achievementTime;
	/**
	 * 表现形式
	 */
	@JoinColumn(name = "pattern_manifestation_id")
	@ManyToOne(fetch = FetchType.LAZY)
	private Dictionary patternManifestation;

	/**
	 * 表现形式
	 */
	@Transient
	private long patternManifestationId;
	/**
	 * 原始资料存放位置
	 */
	@Column(name = "storage_place")
	private String storagePlace;
	/**
	 * 文件地址(多条以逗号','隔开)
	 */
	@Transient
	private String fileUrl;

	/**
	 * 文件名称(多条以逗号','隔开)
	 */
	@Transient
	private String fileName;

	/**
	 * 附件集合
	 */
	@Transient
	private List<FileEntity> listFile;

	
	public KeyFruitArchives getKeyFruitArchives() {
		return keyFruitArchives;
	}

	public void setKeyFruitArchives(KeyFruitArchives keyFruitArchives) {
		this.keyFruitArchives = keyFruitArchives;
	}

	public String getAchievementName() {
		return achievementName;
	}

	public void setAchievementName(String achievementName) {
		this.achievementName = achievementName;
	}

	public Date getAchievementTime() {
		return achievementTime;
	}

	public void setAchievementTime(Date achievementTime) {
		this.achievementTime = achievementTime;
	}

	public String getStoragePlace() {
		return storagePlace;
	}

	public void setStoragePlace(String storagePlace) {
		this.storagePlace = storagePlace;
	}

	public String getFileUrl() {
		return fileUrl;
	}

	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}

	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public List<FileEntity> getListFile() {
		return listFile;
	}

	public void setListFile(List<FileEntity> listFile) {
		this.listFile = listFile;
	}

	public Dictionary getAchievementNature() {
		return achievementNature;
	}

	public void setAchievementNature(Dictionary achievementNature) {
		this.achievementNature = achievementNature;
	}

	public Dictionary getPatternManifestation() {
		return patternManifestation;
	}

	public void setPatternManifestation(Dictionary patternManifestation) {
		this.patternManifestation = patternManifestation;
	}

	public long getAchievementNatureId() {
		return achievementNatureId;
	}

	public void setAchievementNatureId(long achievementNatureId) {
		this.achievementNatureId = achievementNatureId;
	}

	public long getPatternManifestationId() {
		return patternManifestationId;
	}

	public void setPatternManifestationId(long patternManifestationId) {
		this.patternManifestationId = patternManifestationId;
	}
	
	
}